
;



; vmxnet3ndis6.inf

; Copyright (c) 2008 - 2010 VMware, Inc.
;

[version]
Signature   	  = "$Windows NT$"
Class       	  = Net
ClassGUID   	  = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider   	  = %VMware%
DriverVer	  = 03/18/2010, 1.1.6.0
DriverPackageType = PlugAndPlay



CatalogFile       = vmxnet3ndis6.cat


[Manufacturer]
%VMware%     = vmxnet3,NTx86,NTx86.6.0.1,NTx86.6.0,NTx86.6.1,NTia64,NTamd64,NTamd64.6.0.1,NTamd64.6.0,NTamd64.6.1

[ControlFlags]
ExcludeFromSelect = *

; MSFT docs incorrectly claim that 6.1 can be used for Server 2008
; The best we can do to detect NDIS 6.0 vs. NDIS 6.1 is to detect
; Vista vs. Server 2008, which is 6.0.1 (6.0, product type = 1 for 
; VER_NT_WORKSTATION) for Vista and just 6.0 (6.0, product type !=
; 1, i.e., VER_NT_DOMAIN_CONTROLLER or VER_NT_SERVER).  I also
; added a 6.1 to make sure that future non-server releases are
; more likely to be treated as NDIS 6.1.







; pre-Vista x86
[vmxnet3.NTx86]





; Vista x86
[vmxnet3.NTx86.6.0.1]


%vmxnet3.DeviceDesc% = vmxnet3.ndis6.x86.ndi,    PCI\VEN_15AD&DEV_07B0


; Server 2008 x86
[vmxnet3.NTx86.6.0]


%vmxnet3.DeviceDesc% = vmxnet3.ndis61.x86.ndi,   PCI\VEN_15AD&DEV_07B0


; post-Server 2008 x86
[vmxnet3.NTx86.6.1]


%vmxnet3.DeviceDesc% = vmxnet3.ndis61.x86.ndi,   PCI\VEN_15AD&DEV_07B0


; pre-Vista x64
[vmxnet3.NTamd64]





; Vista x64
[vmxnet3.NTamd64.6.0.1]


%vmxnet3.DeviceDesc% = vmxnet3.ndis6.x64.ndi,    PCI\VEN_15AD&DEV_07B0


; Server 2008 x64
[vmxnet3.NTamd64.6.0]


%vmxnet3.DeviceDesc% = vmxnet3.ndis61.x64.ndi,   PCI\VEN_15AD&DEV_07B0


; post-Server 2008 x64
[vmxnet3.NTamd64.6.1]


%vmxnet3.DeviceDesc% = vmxnet3.ndis61.x64.ndi,   PCI\VEN_15AD&DEV_07B0


[vmxnet3.NTia64]

;
; NDIS5 x86
;

[vmxnet3.ndis5.x86.ndi.NT]
Characteristics    = 0x84
BusType            = 5
AddReg             = vmxnet3.ndis5.reg,vmxnet3.commonSettings.reg
AddReg             = vmxnet3.ndis5Settings.reg
; AddReg             = vmxnet3.advancedSettings.reg
CopyFiles          = vmxnet3.ndis5.x86.CopyFiles
*IfType            = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType         = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[vmxnet3.ndis5.x86.ndi.NT.Services]
AddService = vmxnet3ndis5, 2, vmxnet3.ndis5.x86.Service, common.EventLog

[vmxnet3.ndis5.x86.Service]
DisplayName     = %vmxnet3.ndis5.Service.DispName%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\vmxnet3n51x86.sys
LoadOrderGroup  = NDIS
AddReg          = Disable.reg

[vmxnet3.ndis5.x86.CopyFiles]
vmxnet3n51x86.sys,,,2

;
; NDIS5 x64
;

[vmxnet3.ndis5.x64.ndi.NT]
Characteristics    = 0x84
BusType            = 5
AddReg             = vmxnet3.ndis5.reg,vmxnet3.commonSettings.reg
AddReg             = vmxnet3.ndis5Settings.reg
; AddReg             = vmxnet3.advancedSettings.reg
CopyFiles          = vmxnet3.ndis5.x64.CopyFiles
*IfType            = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType         = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[vmxnet3.ndis5.x64.ndi.NT.Services]
AddService = vmxnet3ndis5, 2, vmxnet3.ndis5.x64.Service, common.EventLog

[vmxnet3.ndis5.x64.Service]
DisplayName     = %vmxnet3.ndis5.Service.DispName%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\vmxnet3n51x64.sys
LoadOrderGroup  = NDIS
AddReg          = Disable.reg

[vmxnet3.ndis5.x64.CopyFiles]
vmxnet3n51x64.sys,,,2

;
; NDIS5 common
;

[vmxnet3.ndis5.reg]
HKR, Ndi,            Service,    0, "vmxnet3ndis5"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

;
; NDIS6.0 x86
;

[vmxnet3.ndis6.x86.ndi.NT]
Characteristics    = 0x84
BusType            = 5
AddReg             = vmxnet3.ndis6.reg,vmxnet3.commonSettings.reg
AddReg             = vmxnet3.ndis6Settings.reg
; AddReg             = vmxnet3.advancedSettings.reg
DelReg             = rss.remove.reg
CopyFiles          = vmxnet3.ndis6.x86.CopyFiles
*IfType            = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType         = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[vmxnet3.ndis6.x86.ndi.NT.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired
AddReg             = enableMSI.reg

[vmxnet3.ndis6.x86.ndi.NT.Services]
AddService = vmxnet3ndis6, 2, vmxnet3.ndis6.x86.Service, common.EventLog

;
; NDIS6.0 x64
;

[vmxnet3.ndis6.x64.ndi.NT]
Characteristics    = 0x84
BusType            = 5
AddReg             = vmxnet3.ndis6.reg,vmxnet3.commonSettings.reg
AddReg             = vmxnet3.ndis6Settings.reg
; AddReg             = vmxnet3.advancedSettings.reg
DelReg             = rss.remove.reg
CopyFiles          = vmxnet3.ndis6.x64.CopyFiles
*IfType            = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType         = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[vmxnet3.ndis6.x64.ndi.NT.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired
AddReg             = enableMSI.reg

[vmxnet3.ndis6.x64.ndi.NT.Services]
AddService = vmxnet3ndis6, 2, vmxnet3.ndis6.x64.Service, common.EventLog

;
; NDIS6.1 x86
;

[vmxnet3.ndis61.x86.ndi.NT]
Characteristics    = 0x84
BusType            = 5
AddReg             = vmxnet3.ndis6.reg,vmxnet3.commonSettings.reg
AddReg             = vmxnet3.ndis6Settings.reg,rss.reg
; AddReg             = vmxnet3.advancedSettings.reg
CopyFiles          = vmxnet3.ndis6.x86.CopyFiles
*IfType            = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType         = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[vmxnet3.ndis61.x86.ndi.NT.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired
AddReg             = enableMSI.reg

[vmxnet3.ndis61.x86.ndi.NT.Services]
AddService = vmxnet3ndis6, 2, vmxnet3.ndis6.x86.Service, common.EventLog

;
; NDIS6.1 x64
;

[vmxnet3.ndis61.x64.ndi.NT]
Characteristics    = 0x84
BusType            = 5
AddReg             = vmxnet3.ndis6.reg,vmxnet3.commonSettings.reg
AddReg             = vmxnet3.ndis6Settings.reg,rss.reg
; AddReg             = vmxnet3.advancedSettings.reg
CopyFiles          = vmxnet3.ndis6.x64.CopyFiles
*IfType            = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType         = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[vmxnet3.ndis61.x64.ndi.NT.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired
AddReg             = enableMSI.reg

[vmxnet3.ndis61.x64.ndi.NT.Services]
AddService = vmxnet3ndis6, 2, vmxnet3.ndis6.x64.Service, common.EventLog

;
; NDIS6 common
;

[vmxnet3.ndis6.x86.Service]
DisplayName     = %vmxnet3.ndis6.Service.DispName%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\vmxnet3n61x86.sys
LoadOrderGroup  = NDIS
AddReg          = Disable.reg

[vmxnet3.ndis6.x86.CopyFiles]
vmxnet3n61x86.sys,,,2

[vmxnet3.ndis6.x64.Service]
DisplayName     = %vmxnet3.ndis6.Service.DispName%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\vmxnet3n61x64.sys
LoadOrderGroup  = NDIS
AddReg          = Disable.reg

[vmxnet3.ndis6.x64.CopyFiles]
vmxnet3n61x64.sys,,,2

[vmxnet3.ndis6.reg]
HKR, Ndi,            Service,    0, "vmxnet3ndis6"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

; Enable MSI (note that examples in MSFT docs [as of this writing] aren't correct 
; and cause extraneous registry entries to be created): create keys, then 
; create the actual "MSISupported" value.
; Originally set a DevicePolicy so that affinities actually hold when driver is 
; first installed via Device Manager on W2K8.  The driver uses a different
; solution now but it can be useful to still set a default device policy that
; says to use all processors so the driver/device is not affected by a change
; in the system's default affinity policy.

[enableMSI.reg]
HKR, Interrupt Management, , %FLG_ADDREG_KEYONLY%
HKR, Interrupt Management\MessageSignaledInterruptProperties, , %FLG_ADDREG_KEYONLY%
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, %FLG_ADDREG_TYPE_DWORD%, 1
HKR,"Interrupt Management\Affinity Policy", , %FLG_ADDREG_KEYONLY%
HKR,"Interrupt Management\Affinity Policy", "DevicePolicy", %FLG_ADDREG_TYPE_DWORD%, 3
HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %FLG_ADDREG_TYPE_DWORD%, 10
; HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %FLG_ADDREG_TYPE_DWORD%, 1

;
; all common
;

[common.EventLog]
AddReg = common.AddEventLog.reg

[common.AddEventLog.reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,   0x00010001, 7

[Disable.reg]
; HKR,Parameters,DisableMSI,0x00010001,1
; HKR,Parameters,DisableMSI-x,0x00010001,1
; HKR,Parameters,DisableAutoMask,0x00010001,1

;
; UI settings
;

[vmxnet3.ndis5Settings.reg]
HKR, Ndi\params\*LsoV1IPv4, ParamDesc, 0, %LsoV1IPv4Ndis5%
HKR, Ndi\params\*LsoV1IPv4, Type,      0, "enum"
HKR, Ndi\params\*LsoV1IPv4, Default,   0, "1"
HKR, Ndi\params\*LsoV1IPv4, Optional,  0, "0"
HKR, Ndi\params\*LsoV1IPv4\enum, "0",  0, %Disabled%
HKR, Ndi\params\*LsoV1IPv4\enum, "1",  0, %Enabled%

[vmxnet3.ndis6Settings.reg]
HKR, Ndi\params\*TCPChecksumOffloadIPv6, ParamDesc, 0, %TCPChecksumOffloadIPv6%
HKR, Ndi\params\*TCPChecksumOffloadIPv6, Type,      0, "enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv6, Default,   0, "3"
HKR, Ndi\params\*TCPChecksumOffloadIPv6, Optional,  0, "0"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "0",  0, %Disabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "1",  0, %TxEnabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "2",  0, %RxEnabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "3",  0, %TxRxEnabled%

HKR, Ndi\params\*UDPChecksumOffloadIPv6, ParamDesc, 0, %UDPChecksumOffloadIPv6%
HKR, Ndi\params\*UDPChecksumOffloadIPv6, Type,      0, "enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv6, Default,   0, "3"
HKR, Ndi\params\*UDPChecksumOffloadIPv6, Optional,  0, "0"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "0",  0, %Disabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "1",  0, %TxEnabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "2",  0, %RxEnabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "3",  0, %TxRxEnabled%

HKR, Ndi\params\*LsoV1IPv4, ParamDesc, 0, %LsoV1IPv4Ndis6%
HKR, Ndi\params\*LsoV1IPv4, Type,      0, "enum"
HKR, Ndi\params\*LsoV1IPv4, Default,   0, "1"
HKR, Ndi\params\*LsoV1IPv4, Optional,  0, "0"
HKR, Ndi\params\*LsoV1IPv4\enum, "0",  0, %Disabled%
HKR, Ndi\params\*LsoV1IPv4\enum, "1",  0, %Enabled%

HKR, Ndi\params\*LsoV2IPv4, ParamDesc, 0, %LsoV2IPv4%
HKR, Ndi\params\*LsoV2IPv4, Type,      0, "enum"
HKR, Ndi\params\*LsoV2IPv4, Default,   0, "1"
HKR, Ndi\params\*LsoV2IPv4, Optional,  0, "0"
HKR, Ndi\params\*LsoV2IPv4\enum, "0",  0, %Disabled%
HKR, Ndi\params\*LsoV2IPv4\enum, "1",  0, %Enabled%

HKR, Ndi\params\*LsoV2IPv6, ParamDesc, 0, %LsoV2IPv6%
HKR, Ndi\params\*LsoV2IPv6, Type,      0, "enum"
HKR, Ndi\params\*LsoV2IPv6, Default,   0, "1"
HKR, Ndi\params\*LsoV2IPv6, Optional,  0, "0"
HKR, Ndi\params\*LsoV2IPv6\enum, "0",  0, %Disabled%
HKR, Ndi\params\*LsoV2IPv6\enum, "1",  0, %Enabled%

[Rss.reg]
HKR, Ndi\params\*RSS, ParamDesc, 0, %RSS%
HKR, Ndi\params\*RSS, Type,      0, "enum"
HKR, Ndi\params\*RSS, Default,   0, "0"
HKR, Ndi\params\*RSS, Optional,  0, "0"
HKR, Ndi\params\*RSS\enum, "0",  0, %Disabled%
HKR, Ndi\params\*RSS\enum, "1",  0, %Enabled%

[Rss.remove.reg]
HKR, Ndi\params\*RSS

[vmxnet3.commonSettings.reg]
; only kidding yourself if you think changing this will affect device
HKR, Ndi\params\*SpeedDuplex, ParamDesc, 0, %SpeedDuplex%
HKR, Ndi\params\*SpeedDuplex, Type,      0, "enum"
HKR, Ndi\params\*SpeedDuplex, Default,   0, "0"
HKR, Ndi\params\*SpeedDuplex, Optional,  0, "0"
HKR, Ndi\params\*SpeedDuplex\enum, "0",  0, %AutoNegotiation%
HKR, Ndi\params\*SpeedDuplex\enum, "1",  0, %10Half%
HKR, Ndi\params\*SpeedDuplex\enum, "2",  0, %10Full%
HKR, Ndi\params\*SpeedDuplex\enum, "3",  0, %100Half%
HKR, Ndi\params\*SpeedDuplex\enum, "4",  0, %100Full%
HKR, Ndi\params\*SpeedDuplex\enum, "5",  0, %1000Half%
HKR, Ndi\params\*SpeedDuplex\enum, "6",  0, %1000Full%
HKR, Ndi\params\*SpeedDuplex\enum, "7",  0, %10000Full%

HKR, Ndi\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
HKR, Ndi\params\NetworkAddress, Type,      0, "edit"
HKR, Ndi\params\NetworkAddress, Default,   0, ""
HKR, Ndi\params\NetworkAddress, LimitText, 0, "12"
HKR, Ndi\params\NetworkAddress, UpperCase, 0, "1"
HKR, Ndi\params\NetworkAddress, Optional,  0, "1"

HKR, Ndi\params\*PriorityVLANTag, ParamDesc, 0, %PriorityVLANTag%
HKR, Ndi\params\*PriorityVLANTag, Type,      0, "enum"
HKR, Ndi\params\*PriorityVLANTag, Default,   0, "3"
HKR, Ndi\params\*PriorityVLANTag, Optional,  0, "0"
HKR, Ndi\params\*PriorityVLANTag\enum, "0",  0, %PriorityVlanDisabled%
HKR, Ndi\params\*PriorityVLANTag\enum, "1",  0, %PriorityEnabled%
HKR, Ndi\params\*PriorityVLANTag\enum, "2",  0, %VlanEnabled%
HKR, Ndi\params\*PriorityVLANTag\enum, "3",  0, %PriorityVlanEnabled%

; use edit so can type in?
HKR, Ndi\params\VlanId, ParamDesc, 0, %VlanId%
HKR, Ndi\params\VlanId, Type,      0, "dword"
HKR, Ndi\params\VlanId, Default,   0, "0"
HKR, Ndi\params\VlanId, Optional,  0, "1"
HKR, Ndi\params\VlanId, Min,       0, "0"
HKR, Ndi\params\VlanId, Max,       0, "4095"
HKR, Ndi\params\VlanId, Step,      0, "1"

HKR, Ndi\params\*JumboPacket, ParamDesc,    0, %JumboPacket%
HKR, Ndi\params\*JumboPacket, Type,         0, "enum"
HKR, Ndi\params\*JumboPacket, Default,      0, "1514"
HKR, Ndi\params\*JumboPacket, Optional,     0, "0"
HKR, Ndi\params\*JumboPacket\enum, "1514",  0, %Standard1500%
HKR, Ndi\params\*JumboPacket\enum, "9014",  0, %Jumbo9000%

; HKR, Ndi\params\*JumboPacket, Type,         0, "int"
; HKR, Ndi\params\*JumboPacket, Default,      0, "1514"
; HKR, Ndi\params\*JumboPacket, Optional,     0, "0"
; HKR, Ndi\params\*JumboPacket, Min,          0, "1514"
; HKR, Ndi\params\*JumboPacket, Max,          0, "9014"

HKR, Ndi\params\*InterruptModeration, ParamDesc, 0, %InterruptModeration%
HKR, Ndi\params\*InterruptModeration, Type,      0, "enum"
HKR, Ndi\params\*InterruptModeration, Default,   0, "1"
HKR, Ndi\params\*InterruptModeration, Optional,  0, "0"
HKR, Ndi\params\*InterruptModeration\enum, "0",  0, %Disabled%
HKR, Ndi\params\*InterruptModeration\enum, "1",  0, %Enabled%

HKR, Ndi\params\OffloadVlanEncap, ParamDesc, 0, %OffloadVlanEncap%
HKR, Ndi\params\OffloadVlanEncap, Type,      0, "enum"
HKR, Ndi\params\OffloadVlanEncap, Default,   0, "1"
HKR, Ndi\params\OffloadVlanEncap, Optional,  0, "0"
HKR, Ndi\params\OffloadVlanEncap\enum, "0",  0, %Disabled%
HKR, Ndi\params\OffloadVlanEncap\enum, "1",  0, %Enabled%

HKR, Ndi\params\EnableWakeOnLan, ParamDesc, 0, %EnableWakeOnLan%
HKR, Ndi\params\EnableWakeOnLan, Type,      0, "enum"
HKR, Ndi\params\EnableWakeOnLan, Default,   0, "1"
HKR, Ndi\params\EnableWakeOnLan, Optional,  0, "0"
HKR, Ndi\params\EnableWakeOnLan\enum, "0",  0, %Disabled%
HKR, Ndi\params\EnableWakeOnLan\enum, "1",  0, %Enabled%

HKR, Ndi\params\*IPChecksumOffloadIPv4, ParamDesc, 0, %IPChecksumOffloadIPv4%
HKR, Ndi\params\*IPChecksumOffloadIPv4, Type,      0, "enum"
HKR, Ndi\params\*IPChecksumOffloadIPv4, Default,   0, "3"
HKR, Ndi\params\*IPChecksumOffloadIPv4, Optional,  0, "0"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "0",  0, %Disabled%
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "1",  0, %TxEnabled%
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "2",  0, %RxEnabled%
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "3",  0, %TxRxEnabled%

HKR, Ndi\params\*TCPChecksumOffloadIPv4, ParamDesc, 0, %TCPChecksumOffloadIPv4%
HKR, Ndi\params\*TCPChecksumOffloadIPv4, Type,      0, "enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv4, Default,   0, "3"
HKR, Ndi\params\*TCPChecksumOffloadIPv4, Optional,  0, "0"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "0",  0, %Disabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "1",  0, %TxEnabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "2",  0, %RxEnabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "3",  0, %TxRxEnabled%

HKR, Ndi\params\*UDPChecksumOffloadIPv4, ParamDesc, 0, %UDPChecksumOffloadIPv4%
HKR, Ndi\params\*UDPChecksumOffloadIPv4, Type,      0, "enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv4, Default,   0, "3"
HKR, Ndi\params\*UDPChecksumOffloadIPv4, Optional,  0, "0"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "0",  0, %Disabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "1",  0, %TxEnabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "2",  0, %RxEnabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "3",  0, %TxRxEnabled%

HKR, Ndi\params\OffloadIpOptions, ParamDesc, 0, %OffloadIpOptions%
HKR, Ndi\params\OffloadIpOptions, Type,      0, "enum"
HKR, Ndi\params\OffloadIpOptions, Default,   0, "1"
HKR, Ndi\params\OffloadIpOptions, Optional,  0, "0"
HKR, Ndi\params\OffloadIpOptions\enum, "0",  0, %Disabled%
HKR, Ndi\params\OffloadIpOptions\enum, "1",  0, %Enabled%

HKR, Ndi\params\OffloadTcpOptions, ParamDesc, 0, %OffloadTcpOptions%
HKR, Ndi\params\OffloadTcpOptions, Type,      0, "enum"
HKR, Ndi\params\OffloadTcpOptions, Default,   0, "1"
HKR, Ndi\params\OffloadTcpOptions, Optional,  0, "0"
HKR, Ndi\params\OffloadTcpOptions\enum, "0",  0, %Disabled%
HKR, Ndi\params\OffloadTcpOptions\enum, "1",  0, %Enabled%

HKR, Ndi\params\MaxRxRing1Length, ParamDesc,     0, %MaxRxRing1Length%
HKR, Ndi\params\MaxRxRing1Length, Type,          0, "enum"
HKR, Ndi\params\MaxRxRing1Length, Default,       0, "512"
HKR, Ndi\params\MaxRxRing1Length, Optional,      0, "1"
HKR, Ndi\params\MaxRxRing1Length\enum, "32",     0, %32%
HKR, Ndi\params\MaxRxRing1Length\enum, "64",     0, %64%
HKR, Ndi\params\MaxRxRing1Length\enum, "128",    0, %128%
HKR, Ndi\params\MaxRxRing1Length\enum, "256",    0, %256%
HKR, Ndi\params\MaxRxRing1Length\enum, "512",    0, %512%
HKR, Ndi\params\MaxRxRing1Length\enum, "1024",   0, %1024%
HKR, Ndi\params\MaxRxRing1Length\enum, "2048",   0, %2048%
HKR, Ndi\params\MaxRxRing1Length\enum, "4096",   0, %4096%

HKR, Ndi\params\MaxRxRing2Length, ParamDesc,     0, %MaxRxRing2Length%
HKR, Ndi\params\MaxRxRing2Length, Type,          0, "enum"
HKR, Ndi\params\MaxRxRing2Length, Default,       0, "32"
HKR, Ndi\params\MaxRxRing2Length, Optional,      0, "1"
HKR, Ndi\params\MaxRxRing2Length\enum, "32",     0, %32%
HKR, Ndi\params\MaxRxRing2Length\enum, "64",     0, %64%
HKR, Ndi\params\MaxRxRing2Length\enum, "128",    0, %128%
HKR, Ndi\params\MaxRxRing2Length\enum, "256",    0, %256%
HKR, Ndi\params\MaxRxRing2Length\enum, "512",    0, %512%
HKR, Ndi\params\MaxRxRing2Length\enum, "1024",   0, %1024%
HKR, Ndi\params\MaxRxRing2Length\enum, "2048",   0, %2048%
HKR, Ndi\params\MaxRxRing2Length\enum, "4096",   0, %4096%

HKR, Ndi\params\MaxTxRingLength, ParamDesc,     0, %MaxTxRingLength%
HKR, Ndi\params\MaxTxRingLength, Type,          0, "enum"
HKR, Ndi\params\MaxTxRingLength, Default,       0, "512"
HKR, Ndi\params\MaxTxRingLength, Optional,      0, "1"
HKR, Ndi\params\MaxTxRingLength\enum, "32",     0, %32%
HKR, Ndi\params\MaxTxRingLength\enum, "64",     0, %64%
HKR, Ndi\params\MaxTxRingLength\enum, "128",    0, %128%
HKR, Ndi\params\MaxTxRingLength\enum, "256",    0, %256%
HKR, Ndi\params\MaxTxRingLength\enum, "512",    0, %512%
HKR, Ndi\params\MaxTxRingLength\enum, "1024",   0, %1024%
HKR, Ndi\params\MaxTxRingLength\enum, "2048",   0, %2048%
HKR, Ndi\params\MaxTxRingLength\enum, "4096",   0, %4096%

HKR, Ndi\params\NumRxBuffersSmall, ParamDesc,     0, %NumRxBuffersSmall%
HKR, Ndi\params\NumRxBuffersSmall, Type,          0, "enum"
HKR, Ndi\params\NumRxBuffersSmall, Default,       0, "1024"
HKR, Ndi\params\NumRxBuffersSmall, Optional,      0, "1"
HKR, Ndi\params\NumRxBuffersSmall\enum, "64",     0, %64%
HKR, Ndi\params\NumRxBuffersSmall\enum, "128",    0, %128%
HKR, Ndi\params\NumRxBuffersSmall\enum, "256",    0, %256%
HKR, Ndi\params\NumRxBuffersSmall\enum, "512",    0, %512%
HKR, Ndi\params\NumRxBuffersSmall\enum, "768",    0, %768%
HKR, Ndi\params\NumRxBuffersSmall\enum, "1024",   0, %1024%
HKR, Ndi\params\NumRxBuffersSmall\enum, "1536",   0, %1536%
HKR, Ndi\params\NumRxBuffersSmall\enum, "2048",   0, %2048%
HKR, Ndi\params\NumRxBuffersSmall\enum, "3072",   0, %3072%
HKR, Ndi\params\NumRxBuffersSmall\enum, "4096",   0, %4096%
HKR, Ndi\params\NumRxBuffersSmall\enum, "8192",   0, %8192%

HKR, Ndi\params\NumRxBuffersLarge, ParamDesc,     0, %NumRxBuffersLarge%
HKR, Ndi\params\NumRxBuffersLarge, Type,          0, "enum"
HKR, Ndi\params\NumRxBuffersLarge, Default,       0, "768"
HKR, Ndi\params\NumRxBuffersLarge, Optional,      0, "1"
HKR, Ndi\params\NumRxBuffersLarge\enum, "64",     0, %64%
HKR, Ndi\params\NumRxBuffersLarge\enum, "128",    0, %128%
HKR, Ndi\params\NumRxBuffersLarge\enum, "256",    0, %256%
HKR, Ndi\params\NumRxBuffersLarge\enum, "512",    0, %512%
HKR, Ndi\params\NumRxBuffersLarge\enum, "768",    0, %768%
HKR, Ndi\params\NumRxBuffersLarge\enum, "1024",   0, %1024%
HKR, Ndi\params\NumRxBuffersLarge\enum, "1536",   0, %1536%
HKR, Ndi\params\NumRxBuffersLarge\enum, "2048",   0, %2048%
HKR, Ndi\params\NumRxBuffersLarge\enum, "3072",   0, %3072%
HKR, Ndi\params\NumRxBuffersLarge\enum, "4096",   0, %4096%
HKR, Ndi\params\NumRxBuffersLarge\enum, "8192",   0, %8192%

HKR, Ndi\params\MaxRxQueues, ParamDesc,     0, %MaxRxQueues%
HKR, Ndi\params\MaxRxQueues, Type,          0, "enum"
HKR, Ndi\params\MaxRxQueues, Default,       0, "8"
HKR, Ndi\params\MaxRxQueues, Optional,      0, "1"
HKR, Ndi\params\MaxRxQueues\enum, "1",      0, %1%
HKR, Ndi\params\MaxRxQueues\enum, "2",      0, %2%
HKR, Ndi\params\MaxRxQueues\enum, "4",      0, %4%
HKR, Ndi\params\MaxRxQueues\enum, "8",      0, %8%

HKR, Ndi\params\MaxTxQueues, ParamDesc,     0, %MaxTxQueues%
HKR, Ndi\params\MaxTxQueues, Type,          0, "enum"
HKR, Ndi\params\MaxTxQueues, Default,       0, "1"
HKR, Ndi\params\MaxTxQueues, Optional,      0, "1"
HKR, Ndi\params\MaxTxQueues\enum, "1",      0, %1%
HKR, Ndi\params\MaxTxQueues\enum, "2",      0, %2%
HKR, Ndi\params\MaxTxQueues\enum, "4",      0, %4%
HKR, Ndi\params\MaxTxQueues\enum, "8",      0, %8%

[vmxnet3.advancedSettings.reg]

; InterruptModerationLevel
; *TCPUDPChecksumOffloadIPv4 (0 dis, 1 1x, 2 rt, 3 both)
; *TCPUDPChecksumOffloadIPv6 (0 dis, 1 1x, 2 rt, 3 both)

HKR, Ndi\params\RxBufferReserve, ParamDesc, 0, %RxBufferReserve%
HKR, Ndi\params\RxBufferReserve, Type,      0, "dword"
HKR, Ndi\params\RxBufferReserve, Default,   0, "10"
HKR, Ndi\params\RxBufferReserve, Optional,  0, "1"
HKR, Ndi\params\RxBufferReserve, Min,       0, "2"
HKR, Ndi\params\RxBufferReserve, Max,       0, "1024"
HKR, Ndi\params\RxBufferReserve, Step,      0, "1"

HKR, Ndi\params\NumTxBuffers, ParamDesc,     0, %NumTxBuffers%
HKR, Ndi\params\NumTxBuffers, Type,          0, "enum"
HKR, Ndi\params\NumTxBuffers, Default,       0, "16"
HKR, Ndi\params\NumTxBuffers, Optional,      0, "1"
HKR, Ndi\params\NumTxBuffers\enum, "16",     0, %16%
HKR, Ndi\params\NumTxBuffers\enum, "32",     0, %32%
HKR, Ndi\params\NumTxBuffers\enum, "64",     0, %64%
HKR, Ndi\params\NumTxBuffers\enum, "128",    0, %128%
HKR, Ndi\params\NumTxBuffers\enum, "256",    0, %256%
HKR, Ndi\params\NumTxBuffers\enum, "512",    0, %512%
HKR, Ndi\params\NumTxBuffers\enum, "1024",   0, %1024%

HKR, Ndi\params\MaxTSOv1Payload, ParamDesc,     0, %MaxTSOv1Payload%
HKR, Ndi\params\MaxTSOv1Payload, Type,          0, "enum"
HKR, Ndi\params\MaxTSOv1Payload, Default,       0, "64512"
HKR, Ndi\params\MaxTSOv1Payload, Optional,      0, "1"
HKR, Ndi\params\MaxTSOv1Payload\enum, "16384",  0, %16K%
HKR, Ndi\params\MaxTSOv1Payload\enum, "24576",  0, %24K%
HKR, Ndi\params\MaxTSOv1Payload\enum, "32768",  0, %32K%
HKR, Ndi\params\MaxTSOv1Payload\enum, "49152",  0, %48K%
HKR, Ndi\params\MaxTSOv1Payload\enum, "64512",  0, %63K%
HKR, Ndi\params\MaxTSOv1Payload\enum, "65416",  0, %64K%

HKR, Ndi\params\MaxTSOv2Payload, ParamDesc,     0, %MaxTSOv2Payload%
HKR, Ndi\params\MaxTSOv2Payload, Type,          0, "enum"
HKR, Ndi\params\MaxTSOv2Payload, Default,       0, "262144"
HKR, Ndi\params\MaxTSOv2Payload, Optional,      0, "1"
HKR, Ndi\params\MaxTSOv2Payload\enum, "49152",  0, %48K%
HKR, Ndi\params\MaxTSOv2Payload\enum, "64512",  0, %63K%
HKR, Ndi\params\MaxTSOv2Payload\enum, "65536",  0, %64K%
HKR, Ndi\params\MaxTSOv2Payload\enum, "81920",  0, %80K%
HKR, Ndi\params\MaxTSOv2Payload\enum, "98304",  0, %96K%
HKR, Ndi\params\MaxTSOv2Payload\enum, "131072", 0, %128K%
HKR, Ndi\params\MaxTSOv2Payload\enum, "196608", 0, %192K%
HKR, Ndi\params\MaxTSOv2Payload\enum, "262144", 0, %256K%

;-----------------------------------------------------------------------------
; DestinationDirs
;

[SourceDisksNames]




1 = %DiskDescription%,vmxnet3n61x86.sys,,
1 = %DiskDescription%,vmxnet3n61x64.sys,,


[SourceDisksFiles]




vmxnet3n61x86.sys = 1,,
vmxnet3n61x64.sys = 1,,


[DestinationDirs]




vmxnet3.ndis6.x86.CopyFiles  = 12
vmxnet3.ndis6.x64.CopyFiles  = 12

DefaultDestDir               = 12

[Strings]

FLG_ADDREG_KEYONLY        = 0x00000010
FLG_ADDREG_TYPE_DWORD     = 0x00010001

VMware                         = "VMware, Inc."
vmxnet3.DeviceDesc             = "vmxnet3 Ethernet Adapter"
vmxnet3.ndis5.Service.DispName = "vmxnet3 NDIS 5 Ethernet Adapter Driver"
vmxnet3.ndis6.Service.DispName = "vmxnet3 NDIS 6 Ethernet Adapter Driver"
DiskDescription 	       = "vmxnet3 Driver Disk 1"

SpeedDuplex = "Speed / Duplex"
AutoNegotiation = "Auto Negotiation"
10Half    = " 10 Mbps Half Duplex"
10Full    = " 10 Mbps Full Duplex"
100Half   = "100 Mbps Half Duplex"
100Full   = "100 Mbps Full Duplex"
1000Half  = "1.0 Gbps Half Duplex"
1000Full  = "1.0 Gbps Full Duplex"
10000Full = " 10 Gbps Full Duplex"
NetworkAddress = "MAC Address"
PriorityVLANTag = "Priority / VLAN tag"
PriorityVlanDisabled = "Priority & VLAN Disabled"
PriorityEnabled = "Priority Enabled"
VlanEnabled = "VLAN Enabled"
PriorityVlanEnabled = "Priority & VLAN Enabled"
VlanId = "VLAN ID"
JumboPacket = "Jumbo Packet"
Standard1500 = "Standard 1500"
Jumbo9000    = "Jumbo 9000"
InterruptModeration = "Interrupt Moderation"
Disabled = "Disabled"
Enabled  = "Enabled"
OffloadVlanEncap = "Offload tagged traffic"
EnableWakeOnLan = "Wake-on-LAN"
IPChecksumOffloadIPv4 = "IPv4 Checksum Offload"
TxEnabled = "Tx Enabled"
RxEnabled = "Rx Enabled"
TxRxEnabled = "Tx and Rx Enabled"

TCPChecksumOffloadIPv4 = "TCP Checksum Offload (IPv4)"
UDPChecksumOffloadIPv4 = "UDP Checksum Offload (IPv4)"
OffloadIpOptions  = "Offload IP Options"
OffloadTcpOptions = "Offload TCP Options"
LsoV1IPv4Ndis5 = "IPv4 TCP Segmentation Offload"
TCPChecksumOffloadIPv6 = "TCP Checksum Offload (IPv6)"
UDPChecksumOffloadIPv6 = "UDP Checksum Offload (IPv6)"
LsoV1IPv4Ndis6 = "IPv4 TSO Offload"
LsoV2IPv4 = "IPv4 Giant TSO Offload"
LsoV2IPv6 = "IPv6 TCP Segmentation Offload"
RSS = "RSS"

1    = "1"
2    = "2"
4    = "4"
8    = "8"
16   = "16"
32   = "32"
64   = "64"
128  = "128"
256  = "256"
512  = "512"
768  = "768"
1024 = "1024"
1536 = "1536"
2048 = "2048"
3072 = "3072"
4096 = "4096"
8192 = "8192"

16K = "16 K"
24K = "24 K"
32K = "32 K"
48K = "48 K"
63K = "63 K"
64K = "64 K"
80K = "80 K"
96K = "96 K"
128K = "128 K"
192K = "192 K"
256K = "256 K"

RxBufferReserve   = "Low Rx Buffer Reserve"
MaxRxRing1Length = "Rx Ring #1 Size"
MaxRxRing2Length = "Rx Ring #2 Size"
MaxTxRingLength = "Tx Ring Size"
NumRxBuffersSmall = "Small Rx Buffers"
NumRxBuffersLarge = "Large Rx Buffers"
NumTxBuffers = "Tx Buffers"
MaxRxQueues = "Max Rx Queues"
MaxTxQueues = "Max Tx Queues"
MaxTSOv1Payload = "Max TSOv1 Payload"
MaxTSOv2Payload = "Max TSOv2 Payload"

